package com.beans;

import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;


// PS：方法注解要和类注解一起使用，先扫描到具体哪个类再来扫描这个类下的方法
@Controller
public class Users {
    @Bean
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)  //使用枚举 设置作用域
    public User user1(){//将这个 User 对象存储到了 spring中
        User user = new User();
        user.setId(209000804);
        user.setName("tanchen");
        return user;
    }


    //Bean的重命名规则，直接填写方法名不符合一些场景，怪怪的，直接修改
    //PS： 重命名之前是直接用方法名来获取，之后是用name对应的属性来获取，而用方法名就获取不到了
    @Bean(name = "userinfo")   //可以取多个名字(name = {"userinfo","userhaha"})
    public User user2(){
        User user = new User();
        user.setId(209000814);
        user.setName("wangshao");
        return user;
    }
}
